using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ForgeMedal")]
	public class ForgeMedal : PegUIElement
	{
		[Attribute38("ForgeMedal.ForgeMedalInfo")]
		public class ForgeMedalInfo : MonoClass
		{
			public Vector2 TextureCoords => method_11<Vector2>("get_TextureCoords", Array.Empty<object>());

			public Medal ForgeMedal => method_14<Medal>("get_ForgeMedal", Array.Empty<object>());

			public ForgeMedalInfo(IntPtr address, string className)
				: base(address, className)
			{
			}

			public ForgeMedalInfo(IntPtr address)
				: this(address, "ForgeMedalInfo")
			{
			}
		}

		public List<ForgeMedalInfo> m_forgeMedalInfos => method_3<Class271<ForgeMedalInfo>>("m_forgeMedalInfos")?.method_25();

		public Medal m_medal => method_3<Medal>("m_medal");

		public Medal m_nextMedal => method_3<Medal>("m_nextMedal");

		public ForgeMedal(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ForgeMedal(IntPtr address)
			: this(address, "ForgeMedal")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void SetMedal(int wins)
		{
			method_8("SetMedal", wins);
		}

		public void MedalOver(UIEvent e)
		{
			method_8("MedalOver", e);
		}

		public void MedalOut(UIEvent e)
		{
			method_8("MedalOut", e);
		}
	}
}
